package com.cn.domain;

import java.text.DecimalFormat;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class BigCart {

	Map<Integer,Cart> cartmap = new HashMap<Integer,Cart>();//这个集合是一个空值为了判断购物车有没有该商品
	//将商品添加到该购物车
	//总共商品显示的金额
	private float ToTalPrice;
	
public Map<Integer, Cart> getCartmap() {
		return cartmap;
	}

	public void setCartmap(Map<Integer, Cart> cartmap) {
		this.cartmap = cartmap;
	}


 public float getToTalPrice() {
		return ToTalPrice;
	}

	public void setToTalPrice(float toTalPrice) {
		ToTalPrice = toTalPrice;
	}

	/*
	 * 返回Cart属性
	 */
	public Collection getCartItems(){
		return cartmap.values();//得到map集合value值
	}
	/*
	 * 返回Cart的长度
	 */
	public int  getCartItemsLength(){
		
		return cartmap.size();
	}

	//将商品添加到购物车中
	public void addBigCart (Cart cart){
		//先获得商品id
	System.out.println("方法调用了");
    Integer bid = cart.getBook().getBid();
    System.out.println("bigcart="+bid);
   //遍历cartmap集合
    for(Integer key:cartmap.keySet()){
	   System.out.println("key="+key+"value="+cartmap.get(key).getNumber());
   }
   //查看购物车有没又该商品
   if(cartmap.containsKey(bid)){
	   //只改变改商品的数量
	Cart newcart = cartmap.get(bid);
	newcart.setNumber(newcart.getNumber()+cart.getNumber());
   }else{
	   cartmap.put(bid, cart);
	   System.out.println("商品");
   }
   //设置总计	
 //  ToTalPrice=ToTalPrice+cart.getTotalPrice();
   ToTalPrice =  getAddTotalPrice();
  // System.out.println(ToTalPrice);
	}
	//将商品从购物车中清楚

	public  Map<Integer, Cart> deleteCart(Integer _booid){
		//将这个购物项从集合中删除
		cartmap.remove(_booid);
		ToTalPrice=getAddTotalPrice();
     	return cartmap; 
	}
	//计算该购物车的总计
      
	public  float getAddTotalPrice(){
		float countPrice=0;
	 //遍历该集合
	    for(Integer key:cartmap.keySet()){
	 	   System.out.println("key="+key+"value="+cartmap.get(key).getTotalPrice()); DecimalFormat df  = new DecimalFormat("0.00");
	 	  countPrice= (float) (countPrice + cartmap.get(key).getTotalPrice());
		  
	    }
	  //  this.setToTalPrice(countPrice);
	    return countPrice;
   }
	

	
}